package com.peas.platform.module.icims.contract.initial.adapter.repository.po;

import java.util.*;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.common.core.annotation.Comment;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.*;

// 初始合同过程
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_contract_initial_process`")
public class ContractInitialProcessPo extends BasePo {

    // 合同ID
    // 【初始合同表】
    @Comment(value = "合同ID")
    @TableField(value = "`contract_initial_id`", jdbcType = JdbcType.BIGINT)
    private Long contractInitialId;

    // 合同状态
    // 枚举取值:ContractInitialState
    @Comment(value = "合同状态", enumType = "ContractInitialState")
    @Size(max = 20, message = "合同状态不能超过20个字符")
    @TableField(value = "`state`", jdbcType = JdbcType.VARCHAR)
    private String state;

    // 操作名称
    @Comment(value = "操作名称")
    @Size(max = 100, message = "操作名称不能超过100个字符")
    @TableField(value = "`operation`", jdbcType = JdbcType.VARCHAR)
    private String operation;

    // 操作人
    // 【用户表】
    @Comment(value = "操作人")
    @TableField(value = "`operator`", jdbcType = JdbcType.BIGINT)
    private Long operator;

    // 操作时间
    @Comment(value = "操作时间")
    @TableField(value = "`operate_time`", jdbcType = JdbcType.TIMESTAMP)
    private Date operateTime;

}
